/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *																 *
 *	r2GL - r2 Graphs Library									 *
 *																 *
 *	File:		EuclideanGraph.h								 *
 *	Authors:	Rafael Kikuchi ( shinjikik@gmail.com )			 *
 *				Rafael Romeiro ( rafaelromeiro@gmail.com )		 *
 *	Date:		08/09/2008										 *
 *	License:	CC-GNU LGPL										 *
 *				http://creativecommons.org/licenses/LGPL/2.1/	 *
 *	Version:	0.1.0											 *
 *																 *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#ifndef EUCLIDEANGRAPH_H
#define EUCLIDEANGRAPH_H

#include "Graph.h"
#include "EuclideanNode.h"
#include <list>

namespace r2GL
{

class EuclideanGraph : public Graph
{
public:
	EuclideanGraph (const char *FileInput);
	void TSP (void);
	void WriteTSP (const char *FileOutput);
	float GetTSPTotalCost (void);

protected:
	vector<EuclideanNode> nodes;
	list<EuclideanNode*> path;
};

} //namespace

#endif